package oop;

public class Demo1_noNameOOP {
    public static void main(String[] args) {
        Car1 car1 = new Car1();//创建有名字的对象
        car1.run();
        System.out.println("*********************");
        new Car1().run();
        //创建没有名字的对象
        //就是匿名对象
        //匿名对象只适合对方法的一次调用，因为调用多次就会产生多个对象
        //不如用有名字的对象

        System.out.println("************************");
        //匿名对像是否可以调用属性并赋值？有什么意义？
        //匿名对象可以调用属性，但是没有意义，因为调用后就变成了垃圾

        //匿名对象应用场景：
            //1.调用方法：仅仅只调用一次的时候
                //这种匿名调用的好处是：节省代码
                //注意：调用多次的时候，不适合，匿名对象调用完毕就是垃圾
                //可以被垃圾回收器回收
                //2.匿名对象可以作为实际参数传递

        new Car1().color = "red";
        new Car1().num = 8;
        new Car1().run();
    }
}

class Car1 {
    String color;//车子的颜色
    int num;//车子的轮胎数量

    public void run() {
        System.out.println(color+"车运行"+num);
    }
}
